XBee USB Adapter

From Waveshare Wiki
Jump to: navigation, search
XBee USB Adapter
XBee UART Board, Compatible with Core2530 (B)
XBee-USB-Adapter-1.jpg

XBee USB Adapter
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Introduction

UART communication board, XBee interface, USB interface

More

Zigbee network experiment

Zigbee network needs minimum a coordinator and a router. Since the Core2530 (B) module has a built-in Bootloader in default setting, you can download the firmware to the module directly via the serial port.

Notes: In the Zigbee network experiment, you may need to apply two pieces of Core2530 (B) modules, and two pieces of XBee USB Adapter baseboards.

Roles in Zigbee network

1. Coordinator

  • Select a communication channel and a PAN ID to build a network;
  • Allow other routers and end devices to join this network;
  • Route the data in the network;
  • Must be kept power supplying, and must not enter the SLEEP mode;
  • Preserve data for the end devices entered SLEEP mode till them wake up and retrieve the data.

2. Router

  • Must join a Zigbee network before performing data transmission;
  • Allow other routers and end devices to join the network, after it joined one;
  • Route the data in the network upon joining the network;
  • Must be kept power supplying, and must not enter the SLEEP mode;
  • Preserve data for the end devices entered the SLEEP mode till them wake up and retrieve the data.

3. End Device

  • Must join a Zigbee network before performing data transmission;
  • Not allow other devices to join the network;
  • Transmit and receive data thought parent node, unable to route the data in the network;
  • Support battery power supply and SLEEP mode.

Bootloader

1. Introduction

The built-in Bootloader enable users to download the program to the module directly via a serial port without using the CC Debugger. However, the CC Debugger is required in the course of programming the Bootloader into the module. For more detailed information, please refer to the Section How to program Bootloader.

The Bootloaders available for this module: bootloader.hex.

For easier understanding, we call the module with the bootloader.hex as module A in this document.

The module A will execute the valid program immediately, if any, in the Flash memory, after powered up. Otherwise, its LED1 will keep blinking indicating that there is no program in the Flash memory and you can download a new one via the serial port in this case.

The module A with bootloader.hex is suitable for independent application, since it can run the program directly without any external key-press trigger.

2. CC debugger driver installation

  • Unzip the package CC-Debugger_Drivers.7z to the installation directory;
  • Double click the software Setup_SmartRF_Drivers-1.2.0.exe for installation;
  • Click the button Next, and select the installation path;

Core2530-XCore2530-User-Manual-1.jpg

  • Click the button Install, and wait till the installation finished.

Core2530-XCore2530-User-Manual-2.jpg

  • When finished, connect the CC Debugger to your PC, and open the option Device Manager in Windows. You may find the option CC Debugger if its driver is installed successfully.

Core2530-XCore2530-User-Manual-3.jpg

3. How to program Bootloader

  • Install the module to the baseboard, and connect the baseboard and the CC Debugger to your PC with the USB cables;
  • Power up the baseboard, and press the RESET key on the CC Debugger. If the communication is built up successfully, the indicator on the CC Debugger will light up and turn to green, indicating that it is ready to download new programs;
  • Open the SmartRF Studio7, and select the button Flash Programmer on the upper right of the software interface to open another window.

Core2530-XCore2530-User-Manual-4.jpg

  • Select the option Program CCxxxx Soc or MSP430 in the pulled-down menu What do you want to program?, and choose the image file you want to program within the Flash image box. Here, it is bootloader_wait.hex. And then, click the button Perform actions to start programming.

Core2530-XCore2530-User-Manual-5.jpg

  • When finished, there will be a message "Erase, program and verify OK" appears on the bottom of the window, and the LED1 of the baseboard will keep blinking indicating that program downloading is successful.

Core2530-XCore2530-User-Manual-6.jpg

Firmware downloading

In this section, we will illustrate how to build a Zigbee network by applying two groups of Core2530 (B) + XBee USB Adapter, one works as a coordinator and the other one works as a router. For easier understanding, we call the coordinator as Group A and the router as Group B.

  • Connect the Group A and the Group B to your PC with the USB cables, respectively. And get their corresponding serial port numbers after powered up.
  • If the firmware has been installed to the Group A or/and the Group B, and valid program in the Flash memory(Router firmware is preloaded by default),the Group A will execute the Router program immediately.Now,if you keep pressing the button Boot,and press the button reset at the same time,the Group A can enter the Bootloader mode, you will see the LED1 keep blinking, and you can download a new one via the serial port in this case.
  • Since August 20, 2016,we released another bootloader file("Core2530-B-Bootloader-v2.hex"),which you can enter the Bootloader mode by connect the vcc and p2_1,you will see the LED1 keep blinking, then you can unconnected the p2_1,and download a new one via the serial port in this case.
  • Start the software SBDemo.exe for firmware downloading.

Core2530-XCore2530-User-Manual-7.jpg

  • Enter the corresponding serial port of the Group A in the COM Port box, and click the button … to select the firmware file Coordinator.bin in the Image File box. Then, click the button Load Image to start downloading.

Core2530-XCore2530-User-Manual-8.jpg

Core2530-XCore2530-User-Manual-9.jpg

  • For the Group B, select the firmware file Router.bin. The file download method is the same as that of the Group A.
  • Start two serial debug assistants, and enter the serial port number of the Group A to one of the assistants and the port number of the Group B to the other one. Then, set the Baud rate: 38400, Data bit: 8 and Stop bit: 1;
  • Reset the Group A,you will see the message "Coordinator ok" displayed in the window.
  • Reset the Group B, you will see the message ""Router ok" displayed in the window, if the Group B, severing as a router, has joined the network successfully. Now, the Zigbee network is running. (If no external antenna is applied to the Group B, it is recommended to place the antenna interface of the Group B close to the antenna interface of the Group A, in order to ensure the wireless network signal is strong enough.)

Networking communicaiton

The operations presented below can be done directly by UART serial communication.

Broadcast communication mode

Description: Under this mode, a device can broadcast messages to all the other devices in the Zigbee network.

Format: Data to be sent

EXAMPLE:

To broadcast the message "Hello Waveshare" throughout the network from a device, the relative operations are as follow:

Enter the message to be broadcasted into the character string input box, and click the button Send:

Hello Waveshare

All the other devices, including routers and coordinators, will receive this message in their character string receiving boxes.

Hello Waveshare

Point to Point communication

Description: It is the communication between any two nodes in the same network.

Format: P2P Target address Data to be sent

EXAMPLE:

To send the message "Hello World " from the module A to the module B, the relative operations are as follow:

Read the short addresses of the module A and the module B by the command

AT+GETADDR

Enter the command AT+GETADDR into the character string input box:

AT+GETADDR

Then, you may get the addresses of the module A and the module B:

Module A ADDR=0x50F5
Module B ADDR=0x3CB8

On the module A, apply P2P command to send the message to the module B:

P2P 3CB8 Hello World

Except the module B, other nodes and routers in the network will not receive the message:

Hello World

Point to Multipoint communication

Description: A node sends data to the specified nodes in the same network.

Format: O2M Quantity of target address Target address 1 Target address 2 … Data to be sent

EXAMPLE:

To send the message "Hello World" from the module A to the module B and the module C, the relative operations are as follow:

Read the short addresses of the module A, the module B and the module C by the command AT+READ_ADDR

Enter the command AT+GETADDR into the character string input box:

AT+GETADDR

Then, you may get the addresses of the module A, the module B and the module C:

Module A ADDR=0x50F5
Module B ADDR=0x3CB8
Module C ADDR=0x143E

On the module A, apply O2M command to send the message to the module B and the module C:

O2M 2 0001 143E Hello World

Except the module B and the module C, other nodes and routers in the network will not receive the message:

Hello World

Working with PC

Introduction

ZBSCOMM is the PC software for Core2530/XCore2530/Core2530 (B) developed by Waveshare. With ZBSCOMM, you can easily configure the module settings and read the current configurations of the module via your PC. Of course, you can control the module by AT command as well, if you do not want to use the PC for configuration.

Core2530-XCore2530-User-Manual-10.jpg

AT commands

Table 1: Restart the module

Command AT+RESTART
Inputted parameters None
Return value RESTART OK
Remarks When the message "RESTART OK" is returned, the module will restart

Table 2: Restore the factory settings

Command AT+RESET
Return value SETUART OK SETCHN OK SETPANID OK
Remarks The settings listed below will be effective after the module restarts.

Factory settings:

PANID : 0xFFFF (random)

CHANNEL: 11/2405MHz

UART: 0 (select COM port 0)

Baud rate: 38400

Flow control: 0 (None)

Table 3: Serial port information configuration

Command AT+SETUART Serial port number Baud rate Flow control (The command parameters are separated by spaces)
Function Set the serial port number, Baud rate and flow control
Inputted parameters Serial port number: it should be set to "0" to select COM Port 0 for configuration

Baud rate: 9600-115200

Flow control: it should be set to "0" to turn off flow control

Return value Success: SETUART OK

Failure: SETUART ERR

Remarks Factory settings: UART: 0 (select COM Port 0)

Baud rate: 38400

Flow control: 0 (None)

EXAMPLE:

To set the serial Baud rate, you only need to enter "AT+SETUART 0 38400 0" into the character string input box, and click the button Send. The new settings will be effective after the module restarts. The relative operations are as follow:

Enter "AT+SETUART 0 38400 0" into the character string input box:

AT+SETUART 0 38400 0

Then, you may receive "SETUART OK" in the character string receiving box:

SETUART OK

Table 4: Channel setting

Command AT+SETCHN Channel
Function Set the communication channel of the Zigbee network
Inputted parameters Channel: range from 11 to 26
Return value Success: SETCHN OK

Failure: SETCHN ERR

Remarks In a network, all the modules should be set to a same channel for networking. By default, the communication channel is allocated by the system automatically.

Factory setting: 11/2405MHz

Table 5: Set the PAN ID

Command AT+SETPANID PAN ID
Function Zigbee protocol use a 16-bit PANID to identify the network
Inputted parameters PANID: range from 0x0000 to 0x3FFE
Return value Success: SETPANID OK

Failure: SETPANID ERR

Remarks If PANID=0xFFFF: the device will build up or join an optimum network.

If PANID≠0xFFFF: the device will build up or join a network with a given PANID.

Normally, PANID comes up after determining the communication channel

Table 6: Read all the configuration information

Command AT+GETCFG
Function Read all the configuration information
Inputted parameters None
Return value UART: serial parameters (Baud rate, Flow control)

PANID: Local area network identifier

ADDR: the short address of the device

FADDR: the short address of the parent device

CHANNEL: the communication channel of the module

Table 7: Read the serial configuration information

Command AT+GETUART
Function Read the serial configuration information
Inputted parameters None
Return value Serial port number: 0/1 (serial port 0/serial port 1)

Serial Baud rate: 9600-115200

Flow control: 0/1(None/flow control)

Table 8: Read the current communication channel information

Command AT+GETCHN
Function Read the current communication channel information of the module
Inputted parameters None
Return value CHANNEL: channel value

Table 9: Read the current PAN ID of the module

Command AT+GETPANID
Function Read the current PAN ID of the module
Inputted parameters None
Return value Success: PANID=0xxxx;

Failure: PANID=0xFFFE


Table 10: Read the short address of the device

Command AT+GETADDR
Function Read the short address of the device
Inputted parameters None
Return ADDR=0xXXXX;
Remarks Short address length: 16 bits

This command is used in P2P or O2M communication

Table 11: Read the short address of the parent node

Command AT+GETFADDR
Function Read the short address of the parent node
Inputted parameters None
Return value FADDR=0xXXXX;
Remarks Short address length: 16 bits


Table 12: Read the IEEE address of the device

Command AT+GETIEEE
Function Read the IEEE address of the device
Inputted parameters None
Return IEEE=xx xx xx xx xx xx xx xx
Remarks The IEEE of the device is a 64-bit address

Table 13: Read the IEEE address of the parent node

Command AT+GETFIEEE
Function Read the IEEE address of the parent node
Inputted parameters None
Return value MY_FIEEE=xx xx xx xx xx xx xx xx
Remarks The IEEE of the parent node is a 64-bit address

Resources

Schematics

Software

Related Documentation

Datasheets

TI Documents

Zigbee Protocol stack

FAQ

 Answer:

On a 64-bit system, you need to copy MSCOMM32.OCX to C:\Windows\SysWOW64 and then run the registration script.

Note: If the above operation still prompts the same error, you also need to copy MSCOMM32.OCX to C:\Windows\System32 before running the registration script.

{{{5}}}


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)